﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using AjaxControlToolkit;
using System.Collections.ObjectModel;

namespace TES.WEB.EnteRegulador.Comunes
{
    /// <summary>
    /// Pagina principal
    /// </summary>
    public partial class Default : System.Web.UI.Page
    {
        /// <summary>
        /// Page load de la página
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Page_Load(object sender, EventArgs e)
        {
            ControlMergeLegalizacion1.IdPopUp = "DetallesLegalizacion_ModalPopupExtender";
            ControlMergeLegalizacion1.IdControlDetalles = "ControlDetallesEnlace1";

            ControlLegalizacionesVigentes1.IdPopUp = "DetallesEnlacesLegalizacion";
            ControlLegalizacionesVigentes1.IdControlDetalles = "ControlDetallesLegalizacionEnlacePopUp";

            ControlDetallesLegalizacionEnlacePopUp.IdPopUp = "ModalPopupExtenderAgregarEnlaces" ;
            ControlDetallesLegalizacionEnlacePopUp.IdControlDetalles = "ControlMergeLegalizacionAgregarEnlaces";

           
           ScriptManager.GetCurrent(this.Page).RegisterPostBackControl(ControlLegalizacionesVigentes1);
        }
        /// <summary>
        /// Click en algun item del menu principal
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void MenuPrincipal_MenuItemClick(object sender, MenuEventArgs e)
        {
            switch (MenuPrincipal.SelectedValue)
            {
                case "Redes":
                    {
                        if (ExpandirColapasarPanel(LegalizacionesCPE, false))
                            UpdatePanelContenidoLegalizaciones.Update();
                        if (ExpandirColapasarPanel(LogLegalizacionesCPE, false))
                            UpdatePanelContenidoLog.Update();
                        if (ExpandirColapasarPanel(LiquidacionesCPE, false))
                            UpdatePanelContenidoLiquidaciones.Update();
                        if (ExpandirColapasarPanel(EnlacesCPE, true))
                            UpdatePanelContenidoEnlaces.Update();
                        LabelDescripcion.Text = "Vista de todos los enlaces.";
                        EnlacesCPE.Focus();
                        ReadOnlyCollection<TES.EnteRegulador.MergeEnlace> listadoEnlaces = TES.EnteRegulador.FotoDatosMinisterio.CrearListaMerges(100.0d);
                       
                        ControlMergeLegalizacion1.DataSource = listadoEnlaces;
                        ControlMergeLegalizacion1.DataBind();
                        ControlLeyendaEstados1.Visible = true;
                        break;
                    }
                case "Legalizaciones":
                    {
                        if (ExpandirColapasarPanel(LegalizacionesCPE, true))
                            UpdatePanelContenidoLegalizaciones.Update();
                        if (ExpandirColapasarPanel(LogLegalizacionesCPE, false))
                            UpdatePanelContenidoLog.Update();
                        if (ExpandirColapasarPanel(LiquidacionesCPE, false))
                            UpdatePanelContenidoLiquidaciones.Update();
                        if (ExpandirColapasarPanel(EnlacesCPE, true))
                            UpdatePanelContenidoEnlaces.Update();
                        LabelDescripcion.Text = "Permite hacer el WorkFlow de los enlaces ante el ente regulador.";
                        LegalizacionesCPE.Focus();
                        ReadOnlyCollection<TES.EnteRegulador.MergeEnlace> listadoEnlaces = TES.EnteRegulador.FotoDatosMinisterio.CrearListaMerges(100.0d);

                        ControlMergeLegalizacion1.DataSource = listadoEnlaces;
                        ControlMergeLegalizacion1.DataBind();

                        ControlLeyendaEstados1.Visible = true;


                        break;
                    }
                case "Log":
                    {
                        if (ExpandirColapasarPanel(LegalizacionesCPE, false))
                            UpdatePanelContenidoLegalizaciones.Update();
                        if (ExpandirColapasarPanel(LogLegalizacionesCPE, true))
                            UpdatePanelContenidoLog.Update();
                        if (ExpandirColapasarPanel(LiquidacionesCPE, false))
                            UpdatePanelContenidoLiquidaciones.Update();
                        if (ExpandirColapasarPanel(EnlacesCPE, false))
                            UpdatePanelContenidoEnlaces.Update();
                        LabelDescripcion.Text = "Vista de todos las legalizaciones que se han hecho y su estado.";
                        LogLegalizacionesCPE.Focus();
                        ControlLeyendaEstados1.Visible = false;

                        break;
                    }
                case "Liquidaciones":
                    {
                        if (ExpandirColapasarPanel(LegalizacionesCPE, false))
                            UpdatePanelContenidoLegalizaciones.Update();
                        if (ExpandirColapasarPanel(LogLegalizacionesCPE, false))
                            UpdatePanelContenidoLog.Update();
                        if (ExpandirColapasarPanel(LiquidacionesCPE, true))
                            UpdatePanelContenidoLiquidaciones.Update();
                        if (ExpandirColapasarPanel(EnlacesCPE, false))
                            UpdatePanelContenidoEnlaces.Update();
                        LabelDescripcion.Text = "Ver la liquidacion de lo que se esta pagando por los enlaces legalizados.";
                        LiquidacionesCPE.Focus();
                        ControlLeyendaEstados1.Visible = false;

                        break;
                    }


            }

        }
        /// <summary>
        /// Collapsar o expandir algun collapsible panel
        /// </summary>
        /// <param name="panelExtender"> Panel a collapsar o expandir</param>
        /// <param name="direcction">True si se quiere expandir y false para colapsar</param>
        /// <returns></returns>
        private bool ExpandirColapasarPanel(CollapsiblePanelExtender panelExtender, bool direcction)
        {
            bool clientState = bool.Parse(panelExtender.ClientState);
            if (direcction && (panelExtender.Collapsed != false || clientState))
            {
                panelExtender.ClientState = "false";

                panelExtender.Collapsed = false;
                panelExtender.Focus();
                return true;
            }
            else if (!direcction && (panelExtender.Collapsed == false || !clientState))
            {
                panelExtender.ClientState = "true";

                panelExtender.Collapsed = true;
                panelExtender.Focus();
                return true;
            }
            return false;
        }


         /// <summary>
        /// Navega hacia un elemento especifico del Mapa.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Imprimir(object sender, EventArgs e)
        {
       //     string url = Session["UrlPDF"].ToString();
            //if (!string.IsNullOrEmpty(url))
            //{

            //    Response.Clear();

            //    Response.ContentType = "application/pdf";

            //    string fileName = "FormatoLegalizacion.pdf";
            //    Response.AppendHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
            //    Response.WriteFile(url);
            //    Response.End();

            //}
         //   Session["UrlPDF"] = null;

        }

    }
}
